package QuickHit2;

import java.awt.GraphicsEnvironment;
import java.util.Scanner;

//玩家类
public class Player {
	//玩家属性
	private String name;//姓名
	private int levelNo;//玩家当前级别
	private int curScore;//玩家当前分数
	private long startTime;//开始挑战时间
	private int elapsedTime;//本次挑战所用时间
	
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getLevelNo() {
		return levelNo;
	}

	public void setLevelNo(int levelNo) {
		this.levelNo = levelNo;
	}

	public int getCurScore() {
		return curScore;
	}

	public void setCurScore(int curScore) {
		this.curScore = curScore;
	}

	public long getStartTime() {
		return startTime;
	}

	public void setStartTime(long startTime) {
		this.startTime = startTime;
	}

	public int getElapsedTime() {
		return elapsedTime;
	}

	public void setElapsedTime(int elapsedTime) {
		this.elapsedTime = elapsedTime;
	}

	public Player(String name) {
		super();
		this.name = name;
	}

	public Player() {
		super();
	}

	//玩家玩游戏的方法
	@SuppressWarnings("resource")
	public void play(){
		/*
		 * 循环遍历每一级别
		 * 每一级别中提示用户输入，并判断输入是否正确
		 */
		Scanner scanner = new Scanner(System.in);
		//调用Game类，this表示当前用户玩的游戏
		Game game = new Game(this);
		//循环遍历每一级别
		for(int i=0;i<LeveParam.LEVELS.length;i++) {
			//每循环一次用户等级+1，积分清零
			this.levelNo+=1;
			this.curScore=0;
			//玩家当前的级别
			Level level=LeveParam.LEVELS[this.levelNo-1];
			//每一级里循环遍历，提示用户输入，可以输入的次数
			for(int j=0;j<level.getStrTimes();j++) {
				//先产生随机字符串，在提示用户输入
				String randStr=game.genRandStr();
				System.out.println("随机字符串："+randStr);
				System.out.print("请输入：");
				//先获取用户输入的开始时间
				this.startTime=System.currentTimeMillis();
				//再给用户入口让用户输入
				String input=scanner.next();
				//再调用game中的showResult方法用来比较用户输入的字符串和随机字符串
				game.showResult(randStr, input);
				
			}
		}
		
	}
}
